1. Field of the Invention
The present invention relates generally to a Universal Plug and Play (UPnP) home network system, and more particularly, to managing a control device in a UPnP home network.
2. Description of the Related Art
UPnP is a set of computer network protocols promulgated by the UPnP forum. The goal of UPnP is to provide a set of networking protocols for primarily residential networks that permits networked devices, such as Personal Computers (PCs), printers, Internet gateways, Wi-Fi access points, mobile devices, etc., to seamlessly discover each other's presence on the network and establish functional network services for data sharing, communications, and entertainment.
Accordingly, UPnP technology caters to a wide range of devices in a home network. UPnP provides discovery, control, and eventing mechanisms. Discovery is enabled using a Simple Service Discovery Protocol (SSDP), and eventing follows a General Event Notification Architecture (GENA) protocol. Using these technologies, UPnP makes availability and unavailability of the UPnP devices known to the other devices in the UPnP home network.
UPnP architecture allows peer-to-peer networking of PCs, networked appliances, and wireless devices. It is distributed, open architecture based on established standards such as Transport Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), HyperText Transfer Protocol (HTTP) and eXtended Mark-up Language (XML). The UPnP architecture also supports zero configuration networking. For example, a UPnP compatible device from any vendor can dynamically join a network, obtain an IP address, announce its name, convey its capabilities upon request, and learn about the presence and capabilities of other devices in the network. However, the UPnP devices can also automatically leave the UPnP home network without leaving any unwanted state information.
The foundation for UPnP networking is IP addressing. Basically, each UPnP device (e.g., a control device or a control point) includes a Dynamic Host Configuration Protocol (DHCP) client that searches for a DHCP server when the UPnP device is first connected to the UPnP home network. If no DHCP server is available, the UPnP device assigns itself an address. If during the DHCP transaction, the UPnP device obtains a domain name, for example, through a Domain Name System (DNS) server or via DNS forwarding, the UPnP device uses that name in subsequent network operations; otherwise, the UPnP device uses its IP address.
Typically, control devices in a UPnP home network expose their functionality using device and service descriptions stored in a device and service description document. The device and service description document includes actions and state variables that a control point is capable of invoking or collecting information about.
Generally, when a control device joins a UPnP home network, the control device advertises capabilities of the control device as listed in a device and service description document. Based on the advertised capabilities, a control point may select a control device for availing an UPnP service. For example, the control point may select a printer for printing a document based on the advertisement message. In this case, ‘print’ is a capability of the printer that is listed in the service description sent as an advertisement message.
However, some capabilities may start malfunctioning or may no longer be available after advertising a list of the capabilities. In such a case, the control point may still initiate requests associated with the malfunctioning capabilities, based on the advertised capabilities, as the control point is not aware of the malfunctioning or no longer available capabilities. However, as the control device is unable to service these requests initiated by the control point, this may lead to a flooding of unserviceable requests at the control device and poor user experience at the control point.